#ifndef  GPRS_H
#define  GPRS_H

#include <stdint.h>


int is_TCP_NO_BUSY(int argc, void *argv[]);     //tcp是否空闲
int is_TCP_CONNECTED(int argc, void *argv[]);   //tcp连接是否已建立
int is_TCP_CONNECT_FAIL(int argc, void *argv[]);//tcp连接是否失败
int is_TCP_NO_CLOSED(int argc, void *argv[]);   //tcp是否还未关闭 
int is_TCP_SENDOK(int argc, void *argv[]);


int gprs_init(uint8_t);                //初始化gprs

void gprs_tcp_set_SENDOK(void);     //设置sendok标志,表示发送成功 
void gprs_tcp_set_SENDFAIL(void);   //sendfail 发送失败
void gprs_tcp_set_SENDSTART(void);
void gprs_tcp_set_CONNOK(void);     //设置connectok标志,表示成功 
void gprs_tcp_set_CLOSED(void);     //设置connectok标志,表示成功 
void gprs_tcp_set_FAIL(void);       //设置fail标志,表示连接失败 

void gprs_set_cip_statu(char *str); //设置cip状态

int  gprs_net_connect(char *type, char *addr, int port);
int  gprs_net_get_stat(void);       //获取gprs网络状态
void gprs_net_shut(void);           //断开CIP连接
int  gprs_net_read(int timeout, char *buffer, int size);  //主动读取网络数据
int  gprs_net_send_formatted(const char *__restrict __fmt, ...);

int at_recv_IPD_cb(char *buffer);   //主线程回调处理IPD

int wait_timeout(int (condition)(int,void**), int ms_timeout, int argc, void **argv);

#endif  /*GPRS_H*/
